package business_opportunity

import (
	"context"
	dto "git.mycaigou.com/gfyx/micro-gfyx-api/infrastructure/dto/business_opportunity"
	pb "git.mycaigou.com/gfyx/micro-gfyx-api/proto/micro_gfyx_oppty_service_proto/micro-gfyx-oppty-service/business_opportunity"
)

type CustomerRepositoryIface interface {
	// GetSupplierProject 工程单位合作案例
	GetSupplierProject(ctx context.Context, request *pb.GetSupplierProjectRequest) (*pb.GetSupplierProjectResponse, error)
	// SearchCustomerList 找客户列表
	SearchCustomerList(ctx context.Context, request *pb.SearchCustomerListRequest) (*pb.SearchCustomerListResponse, error)
	// ExportCustomerList 导出客户列表
	ExportCustomerList(ctx context.Context, request *pb.SearchCustomerListRequest) (*pb.ExportCustomerListResponse, error)
	// GetCustomerDetail 获取客户详情
	GetCustomerDetail(ctx context.Context, request *pb.GetCustomerDetailRequest) (*pb.GetCustomerDetailResponse, error)
	// GetDeveloperScoreDetail 获取好客户得分明细
	GetDeveloperScoreDetail(ctx context.Context, organizingCode string) (*dto.CustomerScore, error)
	// FuzzySearch 模糊搜索客户
	FuzzySearch(ctx context.Context, request *pb.FuzzySearchCustomerRequest) (*pb.FuzzySearchCustomerResponse, error)
	// GetFeedList 客户动态
	GetFeedList(ctx context.Context, request *pb.GetFeedRequest) (*pb.GetFeedResponse, error)
	// GetInvestCompany 投资企业
	GetInvestCompany(ctx context.Context, request *pb.GetInvestCompanyRequest) (*pb.GetInvestCompanyResponse, error)
	// GetCustomerZxList 企业风险-失信被执行
	GetCustomerZxList(ctx context.Context, request *pb.GetCustomerRiskCommonRequest) (*pb.GetCustomerZxListResponse, error)
	// GetCustomerCourtRegister 企业风险-立案信息
	GetCustomerCourtRegister(ctx context.Context, request *pb.GetCustomerRiskCommonRequest) (*pb.GetCustomerCourtRegisterResponse, error)
	// GetCustomerLawSuit 企业风险-法律诉讼
	GetCustomerLawSuit(ctx context.Context, request *pb.GetCustomerRiskCommonRequest) (*pb.GetCustomerLawSuitResponse, error)
	// GetCustomerTaxIllegal 企业风险-税收违法
	GetCustomerTaxIllegal(ctx context.Context, request *pb.GetCustomerRiskCommonRequest) (*pb.GetCustomerTaxIllegalResponse, error)
	// GetCustomerRiskCount 企业风险-数量统计
	GetCustomerRiskCount(ctx context.Context, request *pb.GetCustomerRiskCountRequest) (*pb.GetCustomerRiskCountResponse, error)
}
